package khannedy.blogging.masterdetail.service;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import khannedy.blogging.masterdetail.entity.Mahasiswa;
import khannedy.blogging.masterdetail.entity.MataKuliah;

public class MahasiswaService {

    public List<Mahasiswa> getAllMahasiswa(Integer count) {
        List<Mahasiswa> mahasiswas = new ArrayList<Mahasiswa>();

        for (int i = 0; i < count; i++) {
            if (i % 4 == 0) {
                Mahasiswa mahasiswa = createMahasiswa("10106031", "Eko Kurniawan", "Khannedy", new Date(), Mahasiswa.JenisKelamin.LakiLaki,"p.png");
                mahasiswa.add(createMataKuliah("IF3456", "Sistem Informasi Geografis",3,90000));
                mahasiswa.add(createMataKuliah("IF3457", "Komputer Grafika",3,80000));
                mahasiswa.add(createMataKuliah("IF3458", "Rekayasa Perangkat Lunak",2,12000));
                mahasiswa.add(createMataKuliah("IF3459", "Pemrograman Berorientasi Objek",4,45000));
                mahasiswas.add(mahasiswa);
            } else if (i % 4 == 1) {
                Mahasiswa mahasiswa = createMahasiswa("10106032", "Tini", "Sumarni", new Date(), Mahasiswa.JenisKelamin.Perempuan,"7.png");
                mahasiswa.add(createMataKuliah("IF3413", "Algoritma dan Pemrograman Lanjutan",1,21000));
                mahasiswa.add(createMataKuliah("IF3489", "Kewirausahaan",3,23000));
                mahasiswa.add(createMataKuliah("IF3468", "Manajemen Proyek",4,45000));
                mahasiswa.add(createMataKuliah("IF3499", "Sistem Basis Data",3,16000));
                mahasiswas.add(mahasiswa);
            } else if (i % 4 == 2) {
                Mahasiswa mahasiswa = createMahasiswa("10106032", "Tono", "Sumarno", new Date(), Mahasiswa.JenisKelamin.LakiLaki,"8.png");
                mahasiswa.add(createMataKuliah("IF3412", "Algoritma dan Pemrograman",5,23000));
                mahasiswa.add(createMataKuliah("IF3457", "Komputer Grafika",2,40000));
                mahasiswa.add(createMataKuliah("IF3468", "Manajemen Proyek",1,50000));
                mahasiswa.add(createMataKuliah("IF3449", "Pengolahan Citra",2,23000));
                mahasiswas.add(mahasiswa);
            } else {
                Mahasiswa mahasiswa = createMahasiswa("10106022", "Rina", "Sholihat", new Date(), Mahasiswa.JenisKelamin.Perempuan,"12.png");
                mahasiswa.add(createMataKuliah("IF3412", "Algoritma dan Pemrograman",2,45000));
                mahasiswa.add(createMataKuliah("IF3489", "Kewirausahaan",3,25000));
                mahasiswa.add(createMataKuliah("IF3466", "Database Lanjut",4,40000));
                mahasiswa.add(createMataKuliah("IF3423", "Pengenalan Ilmu Komputer",2,29000));
                mahasiswas.add(mahasiswa);
            }
        }

        return mahasiswas;
    }

    protected MataKuliah createMataKuliah(String code, String name,int sks,double biaya) {
        MataKuliah mataKuliah = new MataKuliah();
        mataKuliah.setKode(code);
        mataKuliah.setNama(name);
        mataKuliah.setSks(sks);
        mataKuliah.setBiaya(biaya);
        return mataKuliah;
    }

    protected Mahasiswa createMahasiswa(String nim, String namaDepan,
            String namaBelakang, Date tanggalLahir,
            Mahasiswa.JenisKelamin jenisKelamin,String urlFoto) {

        Mahasiswa mahasiswa = new Mahasiswa();
        mahasiswa.setJenisKelamin(jenisKelamin);
        mahasiswa.setNamaBelakang(namaBelakang);
        mahasiswa.setNamaDepan(namaDepan);
        mahasiswa.setNim(nim);
        mahasiswa.setTanggalLahir(tanggalLahir);
        mahasiswa.setUrlFoto(urlFoto);
        return mahasiswa;
    }
}
